package cn.tude.oop;

import com.sun.xml.internal.ws.org.objectweb.asm.ClassAdapter;

/*
本类用于初步学习面向对象
 */
//分析手机这类实物有什么特点 用类来描述
//特征 品牌 价格 颜色 尺寸
//行为 打电话 发微信  看直播
/*
一个java文件可以创建多个class 但是只能有一个类被public修饰  而且这个公共类必须与文件名字一致
 */
//基本数据结构
/*
栈和队列
    栈先进后出 phone 将放在栈中 会出现压栈 存储成员变量方法
 队列
    先进先出
 */
public class TestCreateClass {
    //main方法可以重载
    public static void main(String[] args) {
        //4在公共类中创建一个程序入口main函数
        //5创建Phone对象phone1
        Phone phone1 = new Phone();
        //6.通过“.”来调用对象方法    ctrl +d 快速向下复制
        phone1.call();
        phone1.learn();
        phone1.meessage();
        //7.调用属性
        System.out.println(phone1.brand);
        System.out.println(phone1.color);
        System.out.println(phone1.price);
        System.out.println(phone1.size);
        //8.创建手机类对象p2
        Phone phone = new Phone();

        //9.修改p2对象的属性值
        phone.brand = "谷歌";
        phone.color = "好看到极致的丑";
        phone.price = 1999;
        phone.size = 122;
       /* Phone phone = new Phone("小米",1999,"五彩斑斓的黑",199);
        System.out.println(phone);*/
        System.out.println(phone);

    }


}

//1通过class关键字创建手机类用来描述手机这一类事务
class Phone {
    /*
    通过成员变量来描述一类事务的特征
    成员变量；类里方法外，无需手动初始化
     */


    @Override
    public String toString() {
        return "Phone{" +
                "brand='" + brand + '\'' +
                ", price=" + price +
                ", color='" + color + '\'' +
                ", size=" + size +
                '}';
    }

    public Phone() {
    }

    //2定义特征 品牌 价格 颜色 尺寸
    public Phone(String brand, double price, String color, double size) {
        this.brand = brand;
        this.price = price;
        this.color = color;
        this.size = size;
    }

    String brand;//品牌
    double price;//价格
    String color;//颜色
    double size;//尺寸

    //3定义 行为 打电话 发微信  看直播
    /*
    我们通过方法来表述手机这一类实物的功能
    格式：修饰符 返回值类型 方法名（参数列表）{方法体}
     */
    public void call() {
        System.out.println("假装正在打电话~");
    }

    public void meessage() {
        System.out.println("假装正在发短信~");
    }

    public void learn() {
        System.out.println("假装正在看直播~");
    }
}
